package org.example;

import org.example.beans.Person;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.ConfigurableApplicationContext;

/**
 * 表示我们创建了一个Spring boot 工程
 * 在包扫描的时候，会沿着当前启动类所在的包，递归进行扫描。
 */
@SpringBootApplication
@EnableConfigurationProperties(Person.class)
public class FirstSpringBootApplication {   // FirstSpringBootApplication也会被纳入到IOC容器中
    public static void main( String[] args) {
        /**
         * 启动springboot的项目，第一个参数是标注了 @SpringBootApplication 这个注解的类型
         */
        ConfigurableApplicationContext ctx = SpringApplication.run(FirstSpringBootApplication.class, args);

//        Stream.of(ctx.getBeanDefinitionNames()).forEach(System.out::println);  // 可以拿到整个IOC容器中所有的Bean的名字
    }
}
